package RecyclingAbteilung;

import RecyclingAbteilung.Recycling;
import test.Zauberkasten;
import firma.AbstractAbteilung;
import firma.Container;
import firma.Katalog;
import firma.Muster;
import firma.Muster.MusterTyp;
import firma.MusterImpl;
import firma.RecyclingAuftrag;
import firma.TestAbteilung;
import firma.ZeitPunkt;
import firma.Auftrag;
import firma.Teil;
import firma.ZeitSpanne;
import firma.teile.Einzelteil;


/**
 * Zum Testen
 * @author Nicole
 */
public class Testklasse {
	
	
	/**
	 * Main-Klasse
	 * @param args
	 */
	
	public static void main(String[] args) {
		try{
	//Zeit
		ZeitPunkt Minute0 = new ZeitPunkt(0L);
		ZeitPunkt Minute1 = new ZeitPunkt(60L);
		ZeitPunkt Minute2 = new ZeitPunkt(120L);	
		ZeitSpanne Zeitspanne0_2 = Minute0.absDifferenzZu(Minute2);
		System.out.println("ZeitPunkt 1: "+Minute1);

//Test-Teile
		Einzelteil ET_Schraube2=new Einzelteil("ET_1_1");
//Test-Muster		
		Muster ET_Schraube1 = new MusterImpl("Schraube1", "ET_1_1",new ZeitSpanne((long) 5.0),MusterTyp.EINZELTEIL, null);
		Muster BG_Schrauben = new MusterImpl("Schrauben", "BG_1",new ZeitSpanne((long) 5.0),Muster.MusterTyp.BAUGRUPPE,null);	
//Test-Kataloge			
		Katalog mk = new Katalog();
		mk.fuegeMusterHinzu(ET_Schraube1);
		Katalog geklonterKatalog=mk.clone();
		
		geklonterKatalog.fuegeMusterHinzu(BG_Schrauben);
		
		//System.out.println(mk.getAnzahlMuster()+" Muster in "+mk.toString());
		//System.out.println(geklonterKatalog.getAnzahlMuster()+" Muster in "+geklonterKatalog.toString()+"\n");
	
//Abteilung-Test		
		AbstractAbteilung lager = new TestAbteilung(AbstractAbteilung.AbteilungsTyp.LAGER); 
		AbstractAbteilung MONTAGE = new TestAbteilung(AbstractAbteilung.AbteilungsTyp.MONTAGE);
		Recycling recyclingabteilung = new Recycling();
		
		RecyclingAuftrag Auftrag1 = new RecyclingAuftrag("21323",recyclingabteilung,lager,Minute1,ET_Schraube2);
				
		System.out.println("Auftrag1:"+Auftrag1.toString());
		
		RecyclingFortschritt Auftrag1Zustand =new RecyclingFortschritt(Auftrag1);
		
		//System.out.println(Auftrag1Zustand.getZustand());
		
		//Auftrag1Zustand.naechsterZustand();
		//System.out.println(Auftrag1Zustand.getZustand());
	
		//zerlege(new Zauberkasten().zaubereVollstaendigesEinzelteil("SteelBar", mk, true, true));
		}
		
		catch(Exception e){
			System.err.println("Error");
		}
		
		
	}

}
